package com.example.demo.service;


import com.example.demo.mapper.TeacherMapper;
import com.example.demo.entity.Teacher;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Optional;

@Service
public class TeacherService {

    @Autowired
    private TeacherMapper teacherMapper;

    // 获取所有教师
    public List<Teacher> findAllTeachers() {
        return teacherMapper.findAll();
    }

    // 根据ID查找教师
    public Optional<Teacher> findTeacherById(String teacherId) {
        return teacherMapper.findById(teacherId);
    }

    // 创建新教师（注册）
    public boolean createTeacher(Teacher teacher) {
        // 实际应用中：
        // 1. **必须** 对 teacher.getPassword() 进行加密，例如使用 BCryptPasswordEncoder
        // 2. 校验 teacherId 是否已存在 (如果数据库的 PRIMARY KEY 约束不满足业务需求)

        // 假设密码已加密
        return teacherMapper.insert(teacher) > 0;
    }

    // 更新教师信息
    public boolean updateTeacher(Teacher teacher) {
        // 实际应用中：
        // 1. 检查教师是否存在
        // 2. 如果更新了密码，需要对新密码进行加密
        return teacherMapper.update(teacher) > 0;
    }

    // 删除教师
    public boolean deleteTeacher(String teacherId) {
        return teacherMapper.deleteById(teacherId) > 0;
    }
}